1. Field of the Invention
This invention relates to the field of data processing systems. More particularly, this invention relates to data processing systems in which null value checking is required.
2. Discussion of Prior Art
It is known to provide data processing systems, such as those operating using computer programs written in the Java programming language, which require null value checking to be performed. If a null value is detected, then null value exception processing should be initiated. Many Java programs are executed using virtual machine systems in which the Java instructions are translated into sequences of native instructions for the underlying processor and then executed. As part of this translation program instructions from the underlying native instruction set of the processor may be generated that serve to perform null value checking corresponding to the null value checking implicit within the Java program. The program into which the Java program is translated and using the native instruction of the underlying processor can include instructions such as the CZB instruction in the Thumb-2 instruction set of the processor of ARM Limited, Cambridge, England which can be used to detect a null value and then branch to appropriate code to trigger an exception. The Thumb-2 instruction set provides the ability to specify sufficient operands/fields to permit such behaviour without significant modification. Such behaviour cannot be readily supported by the existing Java bytecodes themselves.
Another type of processor for executing Java programs is one which seeks to execute Java bytecodes as native instructions and effectively to support the Java bytecodes as a native instructions set. One example of such systems are the Jazelle enabled processors produced by ARM Limited of Cambridge England as described in PCT Published Application number WO/A/2002/097613.
Whilst providing processors capable of natively executing Java bytecodes can be an efficient approach in some respects, e.g. memory usage, when high speed operation is required the approaches of compiling the Java coding into native code of an underlying processor, such as by just-in-time compilation, has considerable advantages, such as greater possibilities for multiple issue processing, output-of order processing and the like.